Database synchronization technologies may be used by mobile applications (e.g., applications on a client device) to allow a user to create and/or modify data locally on the client device even when the client device is not connected to a network. Thus, an enriched user experience can be provided, which allows the manipulation of data without being affected by the network connectivity status of a device. Mobile database synchronization mechanisms are used to synchronize user data with a backend database when a network connection between the client device and the backend database is available. Mobile database synchronization mechanisms may also be used to provide the client data on multiple interfaces (e.g., multiple client devices), to back-up (e.g., create redundant copies) the client data, and the like. The user-friendliness of mobile database synchronization mechanisms is leading to its increasing adoption.
As with many asynchronous synchronization mechanisms (e.g., not in real time synchronization), mobile database synchronization mechanisms may rely on long polling based logic or active notification based logic. However, these methods may not be efficient in terms of network resource utilization. For example, long polling methods involve a mobile application periodically polling a server to detect changes in the client data and trigger synchronization. Thus, long polling methods may be inefficient for managing data that changes infrequently. As another example, active notification based synchronization methods involve the mobile application maintaining a connection with the server to receive notifications of a change in client data. Furthermore, notifications may be delivered even when the mobile application is not in active use.